#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

#define FNAME "out"

int main()
{
	int fd;
	//打开文件
	fd = open(FNAME, O_WRONLY|O_CREAT|O_TRUNC, 0600);
	if(fd < 0)
	{
		perror("open");
		exit(1);
	}

	//close(1);
	//dup(fd);
	//这样操作可能会bug①程序本没有1，fd就是1②其他线程顶了1

	//fd指向的iNode地址，覆盖给1(stdout)
	dup2(fd, 1);

	if(fd != 1)
		close(fd);
	
	puts("helloa");

	//remember to goback stdout

	exit(0);
}
